package com.flower.controller;

import com.flower.domain.ApiResult;
import com.flower.domain.entity.BackageUser;
import com.flower.domain.user.UserQuery;
import com.flower.service.BackageUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@RestController
@Slf4j
@RequestMapping("/user/backage")
public class BackageUserController {

    @Autowired
    private BackageUserService backageUserService;

    /**
     * 后台用户信息自查
     *
     * @return 结果集
     */
    @GetMapping("/userinfo")
    public ApiResult<BackageUser> BackAgeUserInfo() {
        return backageUserService.BackAgeUserInfo();
    }

    /**
     * 后台添加一个用户信息
     *
     * @param backageUser 请求题
     * @return * @return 结果集
     */
    @PostMapping("/add")
    public ApiResult<Boolean> BackAgeUserInfoAdd(@RequestBody BackageUser backageUser) {
        return backageUserService.BackAgeUserInfoAdd(backageUser);
    }

    /**
     * 后台用户信息列表
     *
     * @param page 当前页
     * @param size 当前页的条数
     * @return 结果集
     */
    @PostMapping("/list")
    public ApiResult<Map<String, Object>> BackAgeUserList(
            @RequestParam(defaultValue = "1") int page,
            @RequestParam(defaultValue = "12") int size,
            @RequestBody UserQuery userQuery) {
        return backageUserService.BackAgeUserList(page, size,userQuery);
    }

    /**
     * @param id            id
     * @param accountStatus 状态
     * @return 结果集
     */
    @GetMapping("/upAccountStatus")
    public ApiResult<Boolean> upAccountStatus(@RequestParam int id,@RequestParam int accountStatus) {
        return backageUserService.upAccountStatus(id, accountStatus);
    }

    @GetMapping("/delete/{id}")
    public ApiResult<Boolean> deleteBackAgeUser(@PathVariable long id){
        return backageUserService.deleteBackAgeUser(id);
    }
}
